32 research outputs found

    A Three-Phase Approach to Efficiently Transform C# into KDM

    Get PDF
    The Knowledge Discovery Metamodel (KDM) of the Object Management Group (OMG) is used in diverse research areas for describing software artifacts. It was recently adopted as standard ISO/IEC 19506 and its source, code, and action packages are highly suited for enabling language-independent source code analysis. However, a program needs to be transformed to KDM before corresponding source level metrics can be computed. To be of practical use, such a transformation (1) has to be resource-efficient and (2) ideally can be constructed on the basis of existing grammars to mitigate construction effort for a specific programming language. In this paper, we present such an efficient transformation for C# that is structured along three fundamental phases covering distinct sub-transformations for the types, members and methods, and statements. As our approach systematically analyzes and re-engineers existing grammars and integrates appropriate decompilers, it provides insights for fluently building those program transformations in general. Our quantitative evaluation uses three C# open source systems and an industrial software from the financial sector. It shows that our approach can be successfully applied to these systems and that the transformation can efficiently transform the programs to KDM while keeping resource demand low

    CDOXplorer: Simulation-based genetic optimization of software deployment and reconfiguration in the cloud

    Get PDF
    Migrating existing enterprise software to cloud platforms involves the comparison of various cloud deployment options (CDOs). A CDO comprises a combination of a specific cloud environment, deployment architecture, and runtime reconfiguration rules for dynamic resource scaling. Our simulator CDOSim can evaluate CDOs, e.g., regarding response times and costs. However, the design space to be searched for well-suited solutions is very large. In this paper, we approach this optimization problem with the novel genetic algorithm CDOXplorer. It uses techniques of the search-based software engineering field and simulations with CDOSim to assess the fitness of CDOs. An experimental evaluation that employs, among others, the cloud environments Amazon EC2 and Microsoft Windows Azure, shows that CDOXplorer can find solutions that surpass those of other state-of-the-art techniques by up to 60\%. Our experiment code and data and an implementation of CDOXplorer are available as open source software

    Conformance Checking and Simulation-based Evolutionary Optimization for Deployment and Reconfiguration of Software in the Cloud

    Get PDF
    Many SaaS providers nowadays want to leverage the cloud's capabilities also for their existing applications, for example, to enable sound scalability and cost-effectiveness. This thesis provides the approach CloudMIG that supports SaaS providers to migrate those applications to IaaS and PaaS-based cloud environments. CloudMIG consists of a step-by-step process and focuses on two core components. (1) Restrictions imposed by specific cloud environments (so-called cloud environment constraints (CECs)), such as a limited file system access or forbidden method calls, can be validated by an automatic conformance checking approach. (2) A cloud deployment option (CDO) determines which cloud environment, cloud resource types, deployment architecture, and runtime reconfiguration rules for exploiting a cloud's elasticity should be used. The implied performance and costs can differ in orders of magnitude. CDOs can be automatically optimized with the help of our simulation-based genetic algorithm CDOXplorer. Extensive lab experiments and an experiment in an industrial context show CloudMIG's applicability and the excellent performance of its two core components

    MAMBA: A Measurement Architecture for Model-Based Analysis

    Get PDF
    Model-based measurement techniques are relevant in the field of software analysis. Several meta models for the specification of quantitative measures have been proposed. However, they often focus either on static or dynamic aspects of a software system. Nevertheless, considering reengineering activities often both dimensions reveal valuable complementary insights. Existing meta models are also frequently bound to specific modeling languages, redefine underlying concepts for any new meta model, or provide only limited tool support for the automated computation of measurements from modeled measures. We present MAMBA, an integrated measurement architecture for model-based analysis---both static and dynamic---of software systems, that can be specified by arbitrary Ecore-based modeling languages. MAMBA extends the Structured Metrics Meta-Model (SMM) by additional modeling features, such as arbitrary statistical aggregate functions and periodic aggregate functions, e.g., for dynamic analysis at runtime. To consider measurements for querying system models, we outline the MAMBA Query Language (MQL) that employs SMM measures. Furthermore, we provide tool support that applies the measures specified in an (extended) SMM model and can integrate raw measurements provided by arbitrary static and dynamic analysis tools to produce the desired measurement model. We demonstrate the applicability of the approach based on three evaluation scenarios from different contexts: migration of software systems into the cloud, model-based engineering of railway control systems, and dynamic analysis for model-driven software modernization

    Cloud user-centric enhancements of the simulator cloudsim to improve cloud deployment option analysis

    Get PDF
    Abstract. Cloud environments can be simulated using the toolkit CloudSim. By employing concepts such as physical servers in datacenters, virtual machine allocation policies, or coarse-grained models of deployed software, it focuses on a cloud provider perspective. In contrast, a cloud user who wants to migrate complex systems to the cloud typically strives to find a cloud deployment option that is best suited for its sophisticated system architecture, is interested in determining the best trade-off between costs and performance, or wants to compare runtime reconfiguration plans, for instance. We present significant enhancements of CloudSim that allow to follow this cloud user perspective and enable the frictionless integration of fine-grained application models that, to a great extent, can be derived automatically from software systems. Our quantitative evaluation demonstrates the applicability and accuracy of our approach by comparing its simulation results with actual deployments that utilize the cloud environment Amazon EC2

    Continuous Monitoring of Software Services: Design and Application of the Kieker Framework

    Get PDF
    In addition to studying the construction and evolution of software services, the software engineering discipline needs to address the operation of continuously running software services. A requirement for its robust operation are means for effective monitoring of software runtime behavior. In contrast to profiling for construction activities, monitoring of operational services should only impose a small performance overhead. Furthermore, instrumentation should be non-intrusive to the business logic, as far as possible. We present the Kieker framework for monitoring software runtime behavior, e.g., internal performance or (distributed) trace data. The flexible architecture allows to replace or add framework components, including monitoring probes, analysis components, and monitoring record types shared by logging and analysis. As a non-intrusive instrumentation technique, Kieker currently employs, but is not restricted to, aspect-oriented programming. An extensive lab study evaluates and quantifies the low overhead caused by the framework components. Qualitative evaluations provided by industrial case studies demonstrate the practicality of the approach with a telecommunication customer self service and a digital photo submission service. Kieker is available as open-source software, where both the academic and industrial partners contribute to the code. Our experiment data is publicly available, allowing interested researchers to repeat and extend our lab experiments

    Looking back: twenty years of reforming undergraduate medical training and curriculum frameworks in Switzerland

    Get PDF
    Introduction: To date, hardly any reports exist that outline the reforms in medical studies in Switzerland from the first partial reforms in the 1970s until today.Methods: This article outlines the recent history of medical curricula, their reforms in the early 1970s and, based on these, the key reasons for the major curricular reforms of the 2000s from the perspective of the authors.Results: The various projects, initiatives and legislative elements at the national level include the introduction of new quality control instruments – federal examination and programme accreditation, the introduction of a national catalogue of learning objectives and its two follow-up editions, as well as the implementation of the Bologna reform in undergraduate medical curricula. Examples of the key new elements found in all medical training in Switzerland include: the interdisciplinary orientation of learning content in organ and functional system-oriented subject areas or modules, the enhanced valorisation of practical clinical training, as well as the introduction of problem-oriented formats and the integration of partly formative, partly summative exams according to the format of the objective structured practical examination (OSCE). Characteristics unique to the four medical faculties and their medical training programme are also highlighted.Discussion: The described projects, initiatives and legislative elements have led to a dynamic, continuous development of medical curricula in Switzerland. The close cooperation between the faculties and the Federal Office of Public Health (FOPH) has also resulted in a redefinition of the roles and responsibilities of universities and the Federal Government according to the new Law on Medical Professions. This guarantees the medical faculties a great deal of autonomy, without neglecting quality assurance.Einleitung: Bisher existieren kaum Berichte, die die Schweizer Reformen des Medizinstudiums von den ersten Teilreformen in den 1970er Jahren bis heute skizzieren. Methoden: In der vorliegenden Arbeit werden kursorisch die jüngere Geschichte der humanmedizinischen Curricula, deren erste Teilreformen in den frühen 1970er Jahren und darauf aufbauend die wesentlichen Ausgangspunkte für die grossen Curriculumsreformen der 2000er Jahre aus Sicht der Autoren beschrieben. Ergebnisse: Die vielfältigen Projekte, Initiativen und gesetzgebenden Elemente auf Eidgenössischer Ebene umfassen die Einführung von neuen Qualitätsentwicklungsinstrumenten – Eidgenössische Prüfung und Programmakkreditierung, die Einführung und Weiterentwicklung eines nationalen Lernzielkataloges über insgesamt drei Editionen sowie die Einführung der Bologna Reformen auch in den humanmedizinischen Studiengängen. Im Sinne der Entwicklung von ausdifferenzierten Modellstudiengängen können exemplarisch die wesentlichen neuen Elemente aller Studiengänge in der Schweiz charakterisiert werden: die interdisziplinäre Ausrichtung der Lerninhalte in organ- und funktionssystem-orientierten Themenblöcken oder Modulen, die Aufwertung der klinisch-praktischen Ausbildung sowie die Einführung von problem-orientierten Formaten und der Integration von teils formativen, teils summativen Prüfungen nach dem OSCE-Format. Aufgezeigt werden auch die besonderen standort-spezifischen Charakteristika von vier Medizinischen Fakultäten und deren humanmedizinischen Studiengängen. Diskussion: Die beschriebenen Projekte, Initiativen und gesetzgebenden Elemente haben in der Schweiz zu einer dynamischen, weiterhin anhaltenden Entwicklung der humanmedizinischen Curricula geführt. Die enge Zusammenarbeit zwischen den Fakultäten und dem Bundesamt für Gesundheit (BAG) hat zudem bewirkt, dass mit dem neuen Medizinalberufegesetz Rollen und Verantwortungen zwischen Universitäten und Bund neu definiert worden sind. Dies gewährleistet den Fakultäten eine grosse Autonomie ohne die Qualitätssicherung zu vernachlässigen

    Qualitative microbiome profiling along a wastewater system in Kampala, Uganda

    Get PDF
    Kampala, the capital city of Uganda, is rapidly expanding without adequate wastewater treatment facilities to accommodate the current estimated population of 1.68 million people. Hence, freshwater bodies and natural ecosystems around the city are heavily polluted with organic and inorganic contaminants. Yet, there is a paucity of data on pathogenic microorganisms, which potentially threatens health of local communities. We performed a qualitative microbial analysis using a whole metagenome sequencing approach encompassing over 150 gigabases of sequencing data to characterize the Nakivubo wastewater system, which includes a wastewater channel and surrounding wetlands. We found that microbial diversity is heterogeneous throughout the system and that three community state types could be differentiated. We showed the presence of various waterborne agents of gastrointestinal infections in humans, which were associated with leakage occurring around two locations along the wastewater channel. Our data indicate that the microbial decontamination capacity of the local wastewater treatment facility was insufficient at the time of sampling, and that several areas of the wetlands were contaminated with human pathogens, indicating that parts of the wetlands are potentially unsafe for urban agriculture

    DynaMod: Dynamische Analyse fĂĽr modellgetriebene Software-Modernisierung

    Get PDF
    Erfolgreiche Softwaresysteme leben lange. Gleichzeitig sind diese jedoch der enormen Geschwindigkeit der Fortentwicklung der technischen Komponenten und Plattformen unterworfen, so dass die Anwendungen technisch sehr schnell altern. Von dieser Alterung sind jedoch nicht nur Programmiertechniken betroffen, sondern auch die Softwarearchitekturen erodieren sehr schnell. Um dieser Alterung entgegenzuwirken, neue technologische Potentiale zu nutzen und auch auf zukünftige Anforderungen flexibel reagieren zu können, ist eine kontinuierliche Modernisierung von Softwaresystemen erforderlich. Bei der Neuentwicklung von Softwaresystemen hat sich mit der Modellgetriebenen Softwareentwicklung (Model-Driven Software Development, MDSD) ein Konzept etabliert, das eine elegante Lösung dieser Problematik bietet: Anstatt das System vollständig in einer technischen Programmiersprache zu entwickeln, werden fachliche Aspekte mittels geeigneter, abstrakter Modellierungssprachen dargestellt. Hierbei handelt es sich oftmals um sogenannte domänenspezifische Sprachen (Domain Specific Languages, DSLs), die speziell auf die betreffende Anwendungsdomäne zugeschnitten sind und dadurch eine knappe und präzise Formulierung der relevanten Sachverhalte ermöglichen. Die Überführung dieser abstrakten Modelle in technische Artefakte, beispielsweise Quellcode in einer Programmiersprache, wird automatisiert durch Codegeneratoren vorgenommen. Auf diese Weise ist es möglich, durch Anpassung der Generatoren die Implementierung der Modelle zu verändern, ohne Modifikationen an den zugrundeliegenden Modellen vornehmen zu müssen. Im Gegensatz zu Neuentwicklungen stehen bei vielen Bestandssystemen keine derartigen Modelle zur Verfügung. Klassische Ansätze der Modernisierung von Bestandssystemen versuchen stattdessen, die im Quellcode unmittelbar codierten Strukturen des bestehenden Systems automatisiert in Quellcode des Neusystems zu überführen. Da durch diesen Ansatz eine Transformation auf sehr elementarer Ebene stattfindet, kann dieser Ansatz der zuvor erwähnten Erosion der Anwendungsarchitektur nicht begegnen. Zudem ist auch die Übertragung elementarer Strukturen zwischen Programmiersprachen nicht trivial; häufig muss in der Zielsprache das originäre Konstrukt mit zusätzlichem Aufwand simuliert werden. Dadurch kommt es zu einer Aufblähung des Quellcodes, was der Wartbarkeit abträglich ist. Zuletzt bleiben technologische Potentiale der Zielplattform häufig ungenutzt, da das ursprüngliche System letztlich strukturuell unverändert übertragen wird. Im DynaMod-Projekt wurde mit der modellgetriebenen Modernisierung (Model Driven Modernisation, MDM) ein neuer, innovativer Ansatz untersucht, Modelle aus bestehenden Softwaresystemen abzuleiten, die in einem MDSD-Prozess genutzt werden können und dem Bestandssystem auf diese Weise die zuvor beschriebene Flexibilität der Implementierung verleiht. Zur Ableitung dieser Modelle werden nicht nur die statischen Strukturen des Softwaresystems betrachtet; ein besonderer Schwerpunkt ist die Nutzung dynamischer Analyseverfahren, d.h. der Untersuchung des Verhaltens des Softwaresystems zur Laufzeit. Diese dynamischen Analysen erlauben Einblick in die tatsächliche Nutzung des Systems durch die Nutzer und produziert somit Informationen, die zur Modernisierung eines Systems unabdingbar sind. Von besonderem Interesse ist eine gleichzeitige Betrachtung statisch und dynamisch gewonnener Informationen, eine sogenannte hybride Analyse. Hierbei entfaltet die Nutzung abstrakter Modelle eine besondere Stärke, da die Modelle eine Plattform bieten, auf der die verschiedenen Daten zusammengeführt werden können. Auch Daten aus anderen Quellen, beispielsweise Expertenwissen, können den Modellen hinzugefügt werden und führen Wissen auf der Semantikebene hinzu, das automatisiert nicht erhoben werden kann. Auf diese Weise zeigen die Modelle ein strukturiertes und umfangreiches Bild der Anwendung, das als Grundlage für eine Modernisierung dienen kann. Neben der eigentlichen Modernisierung lag ein weiterer Fokus auf der Nutzung der gewonnenen Analysedaten zum systematischen Testen der modernisierten Anwendung. Hier bestand das Ziel darin, Methoden zu entwickeln und zu erproben, die Tests zur Prüfung funktionaler und nicht-funktionaler Eigenschaften der Anwendung aus den Analysedaten generieren können

    Belle II Pixel Detector Commissioning and Operational Experience

    Get PDF
    corecore